问题内容
类
se
s
ee
标题>
1 类
-9.51
19.605
-5.364
2 类
-13.5
28.388
-7.954
3 级
0.193
1.762
-3.756
4 类
9.564
-4.264
-0.184
5 级
23.13
-24.716
1.883
6 级
-0.252
-26.956
41.876
7 类
-0.442
0.382
-0.012
表>
我的目标是得到如下图所示的东西:
目前我尝试像这样构建它:
import matplotlib.pyplot as plt
import numpy as np
X = ['Class 1','Class 2','Class 3','Class 4', 'Class 5', 'Class 6', 'Class 7']
sE = ['-9,51', '-13,5', '0,193', '9,564', '23,13', '-0,252', '-0,442']
s = ['19,605', '28,388', '1,762', '-4,264', '-24,716', '-26,956', '0,382']
eE = ['-5,364', '-7,954', '-3,756', '-0,184', '1,883', '41,876', '-0,012']
X_axis = np.arange(len(X))
# plt.bar(X_axis, sE, color='red',width = 0.25, edgecolor='black')
# plt.bar(X_axis+0.25, s, color='cyan',width = 0.25, edgecolor='black')
# plt.bar(X_axis+0.5, eE, color='green',width = 0.25, edgecolor='black')
#plt.hist([sE, s, eE], color = ['red', 'cyan', 'green'], edgecolor = 'black', histtype = 'bar')
#plt.xticks(X_axis, X)
plt.xlabel("Classes")
plt.title("Geographical STP A")
plt.show()
但我们距离达到预期结果还有很长的路要走。我真的不知道该怎么做,你能帮我吗?
正确答案
为了能够绘图,字符串应转换为数字。
使用基于 matplotlib 进行绘图的 pandas(或 seaborn)库,每个 x 值具有多个条形的绘图要容易得多。您的数据没有直方图数据,您似乎想要一个条形图。
这是一些代码。许多定制都是可能的。
import matplotlib.pyplot as plt
import pandas as pd
x = ['class 1', 'class 2', 'class 3', 'class 4', 'class 5', 'class 6', 'class 7']
se = ['-9,51', '-13,5', '0,193', '9,564', '23,13', '-0,252', '-0,442']
s = ['19,605', '28,388', '1,762', '-4,264', '-24,716', '-26,956', '0,382']
ee = ['-5,364', '-7,954', '-3,756', '-0,184', '1,883', '41,876', '-0,012']
# organize the data as a pandas dataframe
df = pd.dataframe({'class': x, 'se': se, 's': s, 'ee': ee})
# convert strings to numeric
df['se'] = df['se'].str.replace(',','.').astype(float)
df['s'] = df['s'].str.replace(',','.').astype(float)
df['ee'] = df['ee'].str.replace(',','.').astype(float)
ax = df.set_index('class').plot(kind='bar')
ax.set_title("geographical stp a")
ax.tick_params(axis='x', rotation=0)
plt.show()
可能的定制可能包括:
ax = df.set_index('Class').plot(kind='bar', color=['crimson', 'limegreen', 'dodgerblue'])
ax.set_title("Geographical STP A")
ax.tick_params(axis='x', rotation=0, length=0) # rotate tick labels horizontally, remove tick mark
ax.grid(True, axis='y') # add a grid in the y direction
ax.set_xlabel('') # remove superfluous x label
for dir in ['top', 'bottom', 'right']:
ax.spines[dir].set_visible(False) # remove the border around the plot
ps:数据框如下所示:
以上就是使用 matplotlib python 进行多轴 x的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机使用 matplotlib python 进行多轴 x
后端开发2024-02-09
python使用matplotlib绘制图片时x轴的刻度处理
后端开发2024-04-02
Python使用Matplotlib库绘制双y轴图形(柱状图+折线图)
后端开发2023-08-31
怎么在Pyside2中使用Matplotlib进行绘图
后端开发2023-06-06
Vue3.x使用mitt.js进行组件通信
后端开发2024-04-02
python使用Matplotlib绘制多种常见图形
后端开发2024-04-02
python 利用pexpect进行多机
后端开发2023-01-31
python 使用pandas同时对多列进行赋值
后端开发2024-04-02
Python使用Matplotlib绘制三维折线图(进阶篇)
后端开发2023-09-29
python怎么使用Matplotlib绘制多种常见图形
后端开发2023-06-30
Python OpenCV如何使用dlib进行多目标跟踪
后端开发2023-06-29
Python中使用NumPy进行分布式计算,有多快?
后端开发2023-10-20
如何使用Python中的多线程进行任务并发执行
后端开发2023-10-22
使用python进行whois查询
后端开发2023-01-31
使用Python进行http POST请
后端开发2023-01-31
使用python进行adsl拨号
后端开发2023-01-31
Python:使用Counter进行计数
后端开发2023-01-31
正确使用Go语言进行多行注释
后端开发2024-04-04
在 Python 中利用Pool 进行多处理
后端开发2024-04-02
咦!没有更多了?去看看其它编程学习网 内容吧