表中有FactoryName、JiJXH、sale字段,如何绘制横轴是不同的FactoryName-JiJXH,纵轴是sale箱线图,并且横轴FactoryName-JiJXH刻度换行全部显示出来,并且按照不同的FactoryName-JiJXH制作sale中位数的折线,整体是要制作箱线图和折线图复合图
时间: 2024-02-27 09:51:27 浏览: 26
您可以使用Python中的matplotlib库来绘制横轴是不同的FactoryName-JiJXH,纵轴是sale箱线图,并且横轴FactoryName-JiJXH刻度换行全部显示出来,并且按照不同的FactoryName-JiJXH制作sale中位数的折线,整体是要制作箱线图和折线图复合图。以下是一个简单的示例代码,您可以根据您的数据进行修改:
```python
import matplotlib.pyplot as plt
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 绘制箱线图
fig, ax = plt.subplots()
bp = df.boxplot(column='sale', by=['FactoryName', 'JiJXH'], ax=ax)
# 修改横轴标签
xtick_labels = [label.get_text() for label in ax.get_xticklabels()]
new_xtick_labels = [label.replace(' ', '\n') for label in xtick_labels]
ax.set_xticklabels(new_xtick_labels)
# 绘制折线图
median_dict = df.groupby(['FactoryName', 'JiJXH'])['sale'].median().to_dict()
for i, label in enumerate(xtick_labels):
factory_jijxh = tuple(label.split('\n'))
median = median_dict.get(factory_jijxh, None)
if median is not None:
ax.plot(i+1, median, marker='o', color='red')
# 显示图形
plt.show()
```
其中,`data.csv`是您的数据文件,包含三列:FactoryName、JiJXH、sale。首先,我们使用`pandas`库读取数据。然后,使用`boxplot`函数绘制箱线图,并且通过`by`参数指定横轴为FactoryName-JiJXH。接着,使用`get_xticklabels`函数获取横轴标签,使用`set_xticklabels`函数修改横轴标签,将空格替换为换行符。最后,使用`groupby`函数计算每个FactoryName-JiJXH对应的sale中位数,并使用`plot`函数绘制折线图,将折线颜色设置为红色。最后,使用`show`函数显示图形。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)