plt.figure(figsize=(16,16),dpi=80) plt.subplot(121) temp = df[df.avg_salary<10].groupby('address').avg_salary.count() plt.pie(temp,labels=temp.index,autopct='% .2f%%') plt.legend() plt.title('薪资小于6K各城市占比') plt.subplot(122) temp = df[df.avg_salary>10].groupby('address').avg_salary.count() plt.pie(temp,labels=temp.index,autopct='% .2f%%') plt.title('薪资大于6K各城市占比') plt.legend()生成图的颜色是怎么弄的
时间: 2023-08-11 18:05:26 浏览: 298
这段代码中并没有指定饼图的颜色,所以图表的颜色是默认的。通常情况下,Matplotlib 会自动从当前默认的颜色循环列表中选择颜色。如果需要自定义颜色,可以通过使用 `colors` 参数来指定颜色列表,例如:
```
colors = ['red', 'green', 'blue', 'yellow']
plt.pie(temp, labels=temp.index, autopct='% .2f%%', colors=colors)
```
这将使用 `colors` 列表中的颜色来绘制饼图。您可以根据需要自定义颜色列表。
相关问题
请举例利用plt.figure(figsize=(8,6))与plt. figure(figsize =(10,6))绘制子图,第一个是散点图,第二个为虚线形图,不同框,不同颜色.
在Python的matplotlib库中,你可以通过创建多个`Figure`对象并在其中添加`Axes`来制作子图。`figsize`参数用于设定图形的尺寸。下面是一个例子,展示如何使用`plt.figure(figsize=...)`创建两个不同大小的子图,一个用于散点图,另一个用于虚线图,并调整他们的样式。
首先,导入所需的库:
```python
import matplotlib.pyplot as plt
import numpy as np
```
然后创建两个不同的`Figure`对象:
```python
fig1 = plt.figure(figsize=(8, 6)) # 创建第一个子图,宽8英寸,高6英寸
fig2 = plt.figure(figsize=(10, 6)) # 创建第二个稍大的子图,宽10英寸,高6英寸
```
接下来,为每个子图添加不同的内容:
```python
# 散点图
ax1 = fig1.add_subplot(1, 2, 1) # 第一行,第二个子图(共两部分)
x = np.linspace(0, 10, 100)
y = x ** 2
ax1.scatter(x, y, c='blue') # 创建散点图,蓝色表示
ax1.set_title('Scatter plot in Figure 1')
# 虚线图
ax2 = fig2.add_subplot(1, 2, 2) # 同样在第一行,第二个子图
x = np.linspace(0, 10, 100)
y = np.sin(x)
ax2.plot(x, y, linestyle='--', color='red') # 虚线图,红色表示
ax2.set_title('Dashed line plot in Figure 2')
# 显示图形
plt.tight_layout() # 确保子图之间的间距适当
plt.show()
```
在这个例子中,我们首先在每个`figure`里创建了一个子图,然后在子图上分别绘制了散点图和虚线图,设置了不同的颜色和线条样式。`tight_layout()`函数有助于保持子图之间的美观间距。
修改以下代码,使得x轴文字标签不重叠: import pandas as pd import matplotlib.pyplot as plt df=pd.read_csv('movies_revenue_starring_1950_2010.txt',sep=',') df.sort_values('Title',ascending=False,inplace=True) df_new=df[['Title','Revenue']].reset_index(drop=True) df_new=df_new.iloc[::65,:] #(进行位置索引)对title进行抽样 df_renew=df[['Title','Starring Actors Popularity']].reset_index(drop=True) df_renew=df_renew.iloc[::65,:] #可视化电影的revenue的值 plt.figure(figsize=(18,14)) plt.plot(df_new['Title'],df_new['Revenue'],color='red') plt.xticks(rotation=45,fontsize=7) #x轴旋转45° plt.title('movies Revenue 1950-2010',fontsize=16) plt.xlabel('title') plt.ylabel('Revenue') plt.savefig('movies_revenue_1950_2010.png',dpi=400) plt.show() #可视化电影的Starring Actors Popularity值 plt.figure(figsize=(18,14)) plt.plot(df_renew['Title'],df_renew['Starring Actors Popularity'],color='green') plt.xticks(rotation=45,fontsize=7) plt.title('Starring Actors Popularity 1950-2010',fontsize=16) plt.xlabel('title') plt.ylabel('Starring Actors Popularity
') plt.subplots_adjust(bottom=0.3) #调整子图间距 plt.savefig('Starring_Actors_Popularity_1950_2010.png',dpi=400) plt.show()
修改后的代码如下:
```
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv('movies_revenue_starring_1950_2010.txt',sep=',')
df.sort_values('Title',ascending=False,inplace=True)
df_new=df[['Title','Revenue']].reset_index(drop=True)
df_new=df_new.iloc[::65,:] #(进行位置索引)对title进行抽样
df_renew=df[['Title','Starring Actors Popularity']].reset_index(drop=True)
df_renew=df_renew.iloc[::65,:]
#可视化电影的revenue的值
plt.figure(figsize=(18,14))
plt.plot(df_new['Title'],df_new['Revenue'],color='red')
plt.xticks(rotation=45,fontsize=7, ha='right') #x轴旋转45°,右对齐
plt.title('movies Revenue 1950-2010',fontsize=16)
plt.xlabel('title')
plt.ylabel('Revenue')
plt.subplots_adjust(bottom=0.3) #调整子图间距
plt.savefig('movies_revenue_1950_2010.png',dpi=400)
plt.show()
#可视化电影的Starring Actors Popularity值
plt.figure(figsize=(18,14))
plt.plot(df_renew['Title'],df_renew['Starring Actors Popularity'],color='green')
plt.xticks(rotation=45,fontsize=7, ha='right') #x轴旋转45°,右对齐
plt.title('Starring Actors Popularity 1950-2010',fontsize=16)
plt.xlabel('title')
plt.ylabel('Starring Actors Popularity')
plt.subplots_adjust(bottom=0.3) #调整子图间距
plt.savefig('Starring_Actors_Popularity_1950_2010.png',dpi=400)
plt.show()
```
修改的内容包括:
1. 在xticks中添加ha='right'参数,使得x轴标签右对齐。
2. 在可视化图形中添加plt.subplots_adjust(bottom=0.3)调整子图间距,防止标签重叠。
阅读全文