在Python 优化from matplotlib import pyplot as plt import numpy as np def fun(x): return 0.01*x*2-np.sin(x) x=np.arange(-20.0,20.0,0.01) y=fun(x) plt.plot(x,y) plt.savefig("test.jpg") plt.show()使得纵坐标是成交量,横坐标是日期
时间: 2024-01-29 11:04:35 浏览: 65
如果你想将纵坐标设为成交量,横坐标设为日期,你需要先准备好成交量与日期两个列表,然后使用Matplotlib库中的plot函数进行绘图。下面是修改后的代码:
```python
from matplotlib import pyplot as plt
import numpy as np
def fun(x):
return 0.01*x*2-np.sin(x)
x = np.arange(-20.0, 20.0, 0.01)
y = fun(x)
# 准备成交量与日期两个列表
volume = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]
dates = ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05', '2021-01-06', '2021-01-07', '2021-01-08', '2021-01-09', '2021-01-10']
# 绘制图像
plt.plot(dates, volume)
plt.savefig("test.jpg")
plt.show()
```
请注意,这里我只是为了演示如何将纵坐标和横坐标改变,没有使用原来的函数`fun(x)`。如果你想绘制函数图像,可以将上述代码中的`volume`列表替换为函数值列表`y`即可。
相关问题
import matplotlib.pyplot as plt import numpy as np import pandas as pd lck = pd.read_excel(r'C:\Users\Administrator.WIN7-1609081359\Desktop\平安银行.xlsx') # 模拟数据 x=['交易日期'] y = ['成交量(万股)'] # 绘制图 def fun(x): return 0.01 * x ** 2 - np.sin(x) x = np.arange(-20.0, 20.0, 0.01) y = fun(x) plt.plot(x,y) plt.title('6月1号到6月5号的股票数据') plt.show()优化这个代码,使它输出1到5号的成交量图表
根据提供的代码,可以看出数据来源为Excel文件,需要先读取相应日期的成交量数据,再进行绘图。以下是优化后的代码:
```python
import matplotlib.pyplot as plt
import pandas as pd
# 读取Excel文件
df = pd.read_excel(r'C:\Users\Administrator.WIN7-1609081359\Desktop\平安银行.xlsx')
# 筛选6月1号到6月5号的数据
df = df[(df['交易日期'] >= '2021-06-01') & (df['交易日期'] <= '2021-06-05')]
x = df['交易日期']
y = df['成交量(万股)']
# 绘制图
plt.plot(x, y)
plt.title('6月1号到6月5号的股票成交量')
plt.xlabel('交易日期')
plt.ylabel('成交量(万股)')
plt.show()
```
优化后的代码中,首先读取Excel文件,然后通过筛选操作获取6月1号到6月5号的数据,最后将日期作为x轴,成交量作为y轴绘制图表。
阅读全文