繁体   English   中英

尝试制作多列图形

[英]Attempting to make a multi-column graph

我正在尝试制作一个柱状图,其中y轴是平均晶粒尺寸,x轴是沿样条线的距离,每个系列是日期和/或数字值(这并不重要)。

我一直在尝试在Excel 2010中使用几种不同的方法,但无法弄清楚。 我的希望是,假设在第一个位置9,将有三列,然后在12,将有两列。 如果根本不重要,则可以说总距离为50。此数据的结果应沿横断面/ x轴具有7组列。

我试图使用python来做到这一点,但是我的编码知识几乎为零。 到目前为止,这是我的代码:

import numpy as np    
import matplotlib.pyplot as plt

grainsize = [0.7912, 0.513, 0.4644, 1.0852, 1.8515, 1.812, 6.371, 1.602, 1.0251, 5.6884, 0.4166, 24.8669, 0.5223, 37.387, 0.5159, 0.6727]    
series = [2, 3, 4, 1, 4, 2, 3, 4, 1, 4, 1, 4, 1, 4, 1, 4]    
distance = [9, 9, 9, 12, 12, 15, 15, 15, 17, 17, 25, 25, 32.5, 32.5, 39.5, 39.5]

如果有人碰巧知道要使用的代码,那将非常有帮助。 关于如何在Excel中执行此操作的建议也很棒。

有一个名为seaborn的绘图库,它建立在matplotlib的顶部,可以一行完成。 你的例子:

在此处输入图片说明

import numpy as np     
import seaborn as sns 
from matplotlib.pyplot import show

grainsize = [0.7912, 0.513, 0.4644, 1.0852, 1.8515, 1.812, 6.371,
             1.602, 1.0251, 5.6884, 0.4166, 24.8669, 0.5223, 37.387, 0.5159, 0.6727]     
series = [2, 3, 4, 1, 4, 2, 3, 4, 1, 4, 1, 4, 1, 4, 1, 4]
distance = [9, 9, 9, 12, 12, 15, 15, 15, 17, 17, 25, 25, 32.5, 32.5, 39.5, 39.5]

ax = sns.barplot(x=distance, y=grainsize, hue=series, palette='muted')

ax.set_xlabel('distance') 
ax.set_ylabel('grainsize') 
show()

通过编辑seaborn 画廊中的许多示例,您甚至可以做一个新手,也可以做很多事情。 将它们用作训练轮:一次只编辑一件事,然后思考会发生什么变化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM