当前位置: 首页 > 知识库问答 >
问题:

从两个列表填充绘图图形

秦鸿羽
2023-03-14

我试图从python脚本中的两个列表创建一个简单的条形图。但是,当数据填充到plotly系统中时,不会显示任何图形。下面是我编写的代码、列表的内容以及Plotly生成的代码。也许这是一种在填充图之前需要以某种方式拆分列表的情况?请原谅,这是一个新手问题,我以前从未尝试过。如有任何想法,将不胜感激。

脚本代码:

 mycount = Counter()
 mytime = []
 with open('temp_dates.csv') as csvfile2:
     readCSV2 = csv.reader(csvfile2, delimiter=',')
     incoming = []
     for row in readCSV2:
          readin = row[0]
          time = row[1]
          year, month, day = (int(x) for x in readin.split('-'))
          ans = datetime.date(year, month, day)
          wkday = ans.strftime("%A")
          incoming.append([wkday,time])
          mycount[wkday] += 1
          mytime.append(time)
     with open('new_dates2.csv', 'w') as out_file:
         writer = csv.writer(out_file)
         writer.writerows(incoming)
 csvfile2.close()

 os.remove('./temp_dates.csv')

 daysum = []
 daylist = []
 for key,value in sorted(mycount.iteritems()):
     mylist = key, value
     daysum.append(value)
     daylist.append(key)

 s = pd.to_datetime(mytime).to_series()
 timesum = s.groupby(pd.cut(s.dt.hour, bins=np.arange(26, step=2),                include_lowest=True)).size()
 print(timesum)

 print(daylist,daysum)

 data = [go.Bar(
             x=[(daylist)],
             y=[(daysum)]
     )]
 py.plot(data, filename='basic-bar'

列表内容:

[0, 2]       2
(2, 4]       0
(4, 6]       9
(6, 8]      12
(8, 10]     12
(10, 12]     6
(12, 14]    15
(14, 16]     8
(16, 18]     4
(18, 20]     4
(20, 22]     3
(22, 24]     2

由Ploly创建的代码:

import plotly.plotly as py
from plotly.graph_objs import *
py.sign_in('username', 'api_key')
trace1 = {
  "x": [
    ["Friday", "Monday", "Saturday", "Sunday", "Thursday", "Tuesday",     "Wednesday], 
  "y": [
    [13, 11, 7, 9, 12, 13, 1], 
  "type": "bar", 
  "xsrc":     "quantumspores:1:b909c3,e16d42,692b77,e11300,9392dd,055dcf,274160", 
  "ysrc":     "quantumspores:1:bfbdce,f9103e,b0f1e0,d226d3,0091a5,40646f,5d2d35"
}
data = Data([trace1])
fig = Figure(data=data)
plot_url = py.plot(fig)

共有1个答案

孙俊彦
2023-03-14

是否要绘制每天的条形图?

 data = [go.Bar(
             x=[str(x) for x in daylist],
             y=[int(x) for x in daysum]
     )]

或者绘制每两天的条形图?

 data = [go.Bar(
             x=[str(x) for x in timesum.index],
             y=[int(x) for x in timesum]
     )]

无论你选择什么,你都可以去。Bar需要x作为字符串,y作为数字。

希望这能帮到你。

 类似资料:
  • 如何在Android中重新填充ListView 那是我的样本代码。我想重新填充的listview上的公共无效onTextChanged(CharSequence s, int start, int int count)function.ononTextChanged函数,我想填补listview与一个新的字符串数组。

  • 我在tableview中使用的一列有问题<本栏最初用于显示我拥有的一种数据类型: 我想更改此列中显示的数据,因此我更改了FXML文件中的列名,并编写了以下内容: 我的ResearchData类编码如下: (我只保留了rang、luse和lSysteme,但我有很多其他变量都是这样写的)。 当我启动程序时,在tableview中,除Systeme列外,所有列都正确显示,我收到了以下错误消息: 我可以

  • 导语 在前一节提到了在画刷中可以使用渐变填充。QGradient类就是用来和QBrush一起指定渐变填充的。Qt现在支持三种类型的渐变填充: 线性渐变(linear gradient)在开始点和结束点之间插入颜色; 辐射渐变(radial gradient)在焦点和环绕它的圆环间插入颜色; 锥形渐变(Conical)在圆心周围插入颜色。 这三种渐变分别由QGradient的三个子类来表示,QLin

  • 我试图使用下面的方法增加饼图的hoverlabel属性的填充,但似乎不起作用。是否有人尝试过这个用例,或者是否有其他方法来实现它。。

  • 我正在尝试用来自可观察列表的数据填充TableView。我以前做过这个,但由于某种原因我现在无法让它工作。我没有得到任何异常或任何东西,但它根本不会向表添加任何东西。 这个问题很相似,但我发现了JPA引起的另一个问题,这使得提到的的构造函数永远不会执行。相反,JPA会神奇地分配值。 这是我的代码-我剪下了与问题无关的代码: FXML 主要的Java语言 修改Java语言 任何帮助解决这个问题将不胜