Два вопроса о Plotly: как создать график из множества CSV-файлов и добавить кнопку? - PullRequest
0 голосов
/ 17 января 2020

Первый вопрос:

Я создал CGI, который позволяет мне отображать график из многих CSV.

Для этого я использую Gnuplot. Это мой сценарий:

set terminal png truecolor size 1950, 650  background rgb "#eff1f0"
set output "/xxx/xxx/xxx/xxx/test.png"
set datafile separator ';'

set size ratio 0.2
set bmargin at screen 0.2
unset key
set datafile separator ";"
set ylabel " MB BLOCK " font ",10" offset -1,0
set xlabel font ",10"
set xtics rotate by 45  offset -0.8,-9,-1.8


plot "/var/xxx/xxx/xxx/xxx/xxx/2020-01/Serveur1/fs1.txt" using 3:xtic(1) title column(2) with linespoints linewidth 2 pointtype 7 pointsize 1.5, \
   "/var/xxx/xxx/xxx/xxx/xxx/2020-01/Serveur1/fs2.txt" using 3:xtic(1) title column(2) with linespoints linewidth 2 pointtype 7 pointsize 1.5, \
   "/var/xxx/xxx/xxx/xxx/xxx/2020-01/Serveur1/fs3.txt" using 3:xtic(1) title column(2) with linespoints linewidth 2 pointtype 7 pointsize 1.5, \
   "/var/xxx/xxx/xxx/xxx/xxx/2020-01/Serveur1/fs4.txt" using 3:xtic(1) title column(2) with linespoints linewidth 2 pointtype 7 pointsize 1.5, \
   "/var/xxx/xxx/xxx/xxx/xxx/2020-01/Serveur1/fs5.txt" using 3:xtic(1) title column(2) with linespoints linewidth 2 pointtype 7 pointsize 1.5, \
   "/var/xxx/xxx/xxx/xxx/xxx/2020-01/Serveur1/fs6.txt" using 3:xtic(1) title column(2) with linespoints linewidth 2 pointtype 7 pointsize 1.5, \
   "/var/xxx/xxx/xxx/xxx/xxx/2020-01/Serveur1/fs7.txt" using 3:xtic(1) title column(2) with linespoints linewidth 2 pointtype 7 pointsize 1.5, \
   "/var/xxx/xxx/xxx/xxx/xxx/2020-01/Serveur1/fs8.txt" using 3:xtic(1) title column(2) with linespoints linewidth 2 pointtype 7 pointsize 1.5, \
   "/var/xxx/xxx/xxx/xxx/xxx/2020-01/Serveur1/fs9.txt" using 3:xtic(1) title column(2) with linespoints linewidth 2 pointtype 7 pointsize 1.5

С помощью этого сценария я могу отследить кривую от многих CSV ... С pltoly я использую этот сценарий:

import pandas as pd
import plotly.express as px


df = pd.read_csv('Desktop/test.csv')
df.head()

df2 = pd.read_csv('Desktop/test2.csv')
df.head()

fig = px.line(df, x = 'Date', y ='Total', title='DF command graph')
fig.add_scatter(x=df2['Date'], y =df2['Free'] )

fig.update_traces(mode='markers+lines')

fig.show()

Есть другой способ использовать много CSV? Или это лучший способ?

Мой второй вопрос:

Я вижу, что можно добавить несколько кнопок для взаимодействия с графиком ... Я хотел бы добавить одну кнопку на своем графике которые позволяют отслеживать линию тренда, когда я нажимаю на нее, но я не знаю, как это сделать ...

Просто, чтобы показать мне, как создать кнопку. Не могли бы вы объяснить мне, как создать простую Кнопка, на которой отображается «Hello world»?

Спасибо!

...