plt.style.use(style_name)
时间: 2023-08-17 17:46:01 浏览: 78
`plt.style.use(style_name)` 是Matplotlib中的一个函数,用于设置图形的样式。Matplotlib提供了许多内置的样式,例如 `'ggplot'`、`'seaborn'`、`'bmh'` 等,可以通过将样式名称作为参数传递给 `use()` 函数来使用这些样式。此外,也可以创建自定义样式文件,将其保存在本地目录中,并使用 `use()` 函数来加载该样式文件。例如,`plt.style.use('ggplot')` 将使用内置的 `'ggplot'` 样式来设置图形的外观。可以在 `use()` 函数中指定多个样式名称,以便组合多个样式来自定义图形的外观。
相关问题
import bs4 as bs import requests#python的http客户端 import pickle#用于序列化反序列化 import datetime as dt import pandas as pd import pandas_datareader.data as web from matplotlib import style import matplotlib.pyplot as plt from matplotlib.pyplot import MultipleLocator import os def DownloadStock(): style.use('ggplot') start = dt.datetime(2018,6,10) end = dt.datetime(2021,6,10) #根据股票代码从雅虎财经读取该股票在制定时间段的股票数据 df = web.DataReader("600797.SS", 'yahoo',start,end) #保存为对应的文件 df.to_csv('StockData/{}.csv'.format("600797")) def PlotStock(data): plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 x = data['Date'] plt.plot(x, data['Close'], label='Close') plt.plot(x, data['Open'], label='Open') plt.title('2018-2021年股票') plt.xlabel('Date:2018-2021') plt.legend(loc='best') plt.savefig(r'StockData/01.jpg') plt.show() def udoPlotStock(data): plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 x = data['Date'] plt.plot(x, (data['Close']-data['Open'])) plt.title('2018-2021年股票') plt.xlabel('Date:2018-2021') plt.ylabel('涨跌',) plt.savefig(r'StockData/02.jpg') plt.show() if __name__ == '__main__': #获取三年股票数据 albbData=DownloadStock() data=pd.read_csv(r'StockData/600797.csv') #股票交易时间序列图 PlotStock(data) #股票涨跌 udoPlotStock(data) 解释一下这段代码
这段代码是一个简单的示例,用于下载和可视化股票数据。
首先,它导入了需要使用的库,例如bs4用于解析网页、requests用于发送HTTP请求、pickle用于序列化数据、datetime用于日期操作、pandas和pandas_datareader用于数据处理,以及matplotlib用于数据可视化。
然后,定义了一个函数`DownloadStock()`,该函数使用`pandas_datareader`库从雅虎财经获取指定股票在给定时间范围内的数据,并将数据保存为csv文件。
接下来,定义了两个函数`PlotStock()`和`udoPlotStock()`,这两个函数使用matplotlib库绘制股票数据的不同图表。`PlotStock()`函数绘制了股票的收盘价和开盘价随时间的变化曲线图,而`udoPlotStock()`函数绘制了股票的涨跌幅随时间的变化曲线图。
在主程序中,首先调用`DownloadStock()`函数下载股票数据,并将其保存到指定的csv文件中。然后,使用`pandas`库读取该csv文件中的数据,并传递给`PlotStock()`和`udoPlotStock()`函数进行相应的图表绘制。
最后,通过`if __name__ == '__main__':`判断是否直接运行该脚本文件,并执行相应的操作。
总体来说,这段代码展示了如何使用Python获取股票数据并进行简单的数据可视化。
我要把feature_type_mean放在横轴其他位置,请增加代码,#这种初始化操作可以用来创建一个空的数据结构,用于后续存储和填充数据。在这种情况下,DataFrame的所有元素被初始化为0,准备接收进一步的数据填充。 filter_features = pd.DataFrame(0, index=filter_names, columns=feature_type_names, ) for key in c: for filter_name in filter_names: for feature_type_name in feature_type_names: if filter_name in key and feature_type_name in key: # print(filter_name, feature_type_name, key, c[key]) filter_features.loc[filter_name, feature_type_name] += c[key] filter_features['filter_mean'] = filter_features.mean(axis = 1) filter_features.loc['feature_type_mean'] = filter_features.mean(axis = 0) # %% plt.figure(figsize=(8, 12), dpi=300) sns.set_style('white', {'font.sans-serif': ['simsun', 'Times New Roman'], "size": 6}) ax = sns.heatmap(filter_features, # .apply(np.log1p), #vmin=5, vmax=17, fmt=".3f", annot=False, cmap="YlOrBr",#"vlag",#"YlOrBr", # cmap="RdBu_r", annot_kws={"size": 6}, square=True ) # label_y = ax.get_yticklabels() # plt.setp(label_y, rotation=45) # label_x = ax.get_xticklabels() # plt.setp(label_x, rotation=45) # plt.tick_params(labelsize=6) plt.show()
To move the 'feature_type_mean' column to a different position in the DataFrame, you can use the `reindex` method of pandas DataFrame. Here's the modified code:
```
filter_features = pd.DataFrame(0, index=filter_names, columns=feature_type_names)
for key in c:
for filter_name in filter_names:
for feature_type_name in feature_type_names:
if filter_name in key and feature_type_name in key:
filter_features.loc[filter_name, feature_type_name] += c[key]
filter_features['filter_mean'] = filter_features.mean(axis=1)
# Calculate the mean of each column and store it in a new DataFrame
feature_type_mean = filter_features.mean(axis=0)
feature_type_mean_df = pd.DataFrame(feature_type_mean, columns=['feature_type_mean'])
# Reorder the columns in the DataFrame
filter_features = pd.concat([feature_type_mean_df, filter_features.drop(columns=['feature_type_mean'])], axis=1)
plt.figure(figsize=(8, 12), dpi=300)
sns.set_style('white', {'font.sans-serif': ['simsun', 'Times New Roman'], "size": 6})
ax = sns.heatmap(filter_features, fmt=".3f", annot=False, cmap="YlOrBr", annot_kws={"size": 6}, square=True)
plt.show()
```
In this modified code, the `feature_type_mean` column is calculated separately and stored in a new DataFrame `feature_type_mean_df`. Then, the `concat()` method is used to combine this DataFrame with the original `filter_features` DataFrame, but with the columns reordered. Finally, the heatmap is plotted using the modified `filter_features` DataFrame.
阅读全文