import matplotlib.pyplot as plt import pandas as pd plt.rcParams['font.family'] = 'Fangsong' # 指定使用宋体字体 # 读取数据 df = pd.read_excel('200马力及以上四轮驱动拖拉机新.xlsx') fig = plt.figure(figsize=(200, 60), dpi=300) # 绘制箱线图 plt.boxplot([df['sale']],labels=[df['Factory_jijxh']], whis=3) # 显示图形 plt.show() 怎么修改
时间: 2024-02-02 13:03:57 浏览: 72
这段代码是用来绘制箱线图的,但是其中的 figsize 参数值过大,dpi 参数也过大,会导致图片非常大,不方便查看。建议将 figsize 和 dpi 参数值适当调小,如下所示:
```python
import matplotlib.pyplot as plt
import pandas as pd
plt.rcParams['font.family'] = 'Fangsong' # 指定使用宋体字体
# 读取数据
df = pd.read_excel('200马力及以上四轮驱动拖拉机新.xlsx')
# 绘制箱线图
fig = plt.figure(figsize=(10, 6), dpi=80)
plt.boxplot([df['sale']], labels=[df['Factory_jijxh']], whis=3)
# 显示图形
plt.show()
```
你可以将 figsize 和 dpi 参数值调整为适合你的需求的数值,以达到最佳的显示效果。
相关问题
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'Fangsong' # 指定使用宋体字体 fig= plt.figure(figsize=(30, 25), dpi=300) ax1= fig.add_subplot(131) # 读取数据 df = pd.read_excel("test_Fd.xlsx") 把Fendmc是140-160马力四轮驱动动力换挡拖拉机查找出来
你可以使用 Pandas 的 loc 函数来筛选符合条件的数据,代码如下:
```python
df.loc[(df['Fendmc'] == '140-160马力四轮驱动动力换挡拖拉机')]
```
其中,`df['Fendmc']` 表示选取数据表中名为 Fendmc 的列,`==` 表示判断是否相等,`'140-160马力四轮驱动动力换挡拖拉机'` 则为要查找的值。
这行代码会返回符合条件的所有行数据,你可以根据需要进行进一步处理。
import numpy as np import scipy.stats as ss import pandas as pd import matplotlib.pyplot as plt import seaborn as sns df=pd.read_excel("./test.xlsx") sns.set_context(font_scale=30) plt.rcParams['font.family'] = 'FangSong' plt.figure(figsize=(100,1000)) min_val = df.loc[:, ["FactoryName", "JiJXH"]].values.min() max_val = df.loc[:, ["FactoryName", "JiJXH"]].values.max() sns.heatmap(df,vmin=min_val, vmax=max_val,cmap=sns.color_palette("RdYlBu",n_colors=10),annot=True, fmt='g', annot_kws={"size": 20}) plt.show()提示could not convert string to float,怎么修改
这个错误提示通常是由于数据中含有非数值型的字符串导致的。你可以尝试将非数值型的列进行排除或者转化为数值型,例如:
1. 将非数值型的列排除:
```python
df = pd.read_excel("./test.xlsx")
df_numeric = df.select_dtypes(include=[np.number]) # 选择数值型的列
sns.set_context(font_scale=30)
plt.rcParams['font.family'] = 'FangSong'
plt.figure(figsize=(100,1000))
min_val = df_numeric.values.min()
max_val = df_numeric.values.max()
sns.heatmap(df_numeric, vmin=min_val, vmax=max_val, cmap=sns.color_palette("RdYlBu",n_colors=10), annot=True, fmt='g', annot_kws={"size": 20})
plt.show()
```
2. 将非数值型的列转化为数值型:
```python
df = pd.read_excel("./test.xlsx")
df["FactoryName"] = pd.factorize(df["FactoryName"])[0] # 将非数值型的列转化为数值型
sns.set_context(font_scale=30)
plt.rcParams['font.family'] = 'FangSong'
plt.figure(figsize=(100,1000))
min_val = df.loc[:, ["FactoryName", "JiJXH"]].values.min()
max_val = df.loc[:, ["FactoryName", "JiJXH"]].values.max()
sns.heatmap(df, vmin=min_val, vmax=max_val, cmap=sns.color_palette("RdYlBu",n_colors=10), annot=True, fmt='g', annot_kws={"size": 20})
plt.show()
```
其中,第一种方法是直接排除非数值型的列,第二种方法是将非数值型的列转化为数值型,以便于进行可视化。
阅读全文