横坐标只显示不是为Nan的坐标
时间: 2023-12-03 20:45:52 浏览: 31
如果您使用的是Python中的Matplotlib库,可以使用以下语句来仅显示非NaN的横坐标:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.array([1, 2, np.nan, 4, 5, np.nan, 7])
y = np.array([3, 5, 2, 8, 4, 6, 9])
# 去除NaN值
x_clean = x[~np.isnan(x)]
y_clean = y[~np.isnan(x)]
# 绘制图形
plt.plot(x_clean, y_clean)
plt.show()
```
在上述代码中,`~np.isnan(x)`表示对x数组进行布尔反转,即选取不是NaN的元素,从而得到清理过的横坐标`x_clean`和纵坐标`y_clean`。然后,使用`plt.plot()`函数绘制出图形。
相关问题
将横坐标改为对应的日期
好的,将横坐标改为对应的日期可以按照以下步骤进行:
1. 首先,将日期列设置为 DataFrame 的索引,可以使用 pandas 的 `set_index()` 函数,例如:
```python
df = pd.read_excel('stocks.xlsx', usecols=[0, 1, 2, 3, 4, 5], index_col=0)
```
这个函数将第一列设置为索引列,也就是日期列。
2. 对每支股票的收盘价进行计算,得到每日的涨跌幅,可以使用 pandas 的 `pct_change()` 函数,例如:
```python
change = df.pct_change()
```
这个函数将计算每一列中相邻两个元素的百分比变化,也就是涨跌幅。注意,由于第一行没有前一个元素,所以第一行会被设置为 NaN。
3. 使用 matplotlib 库绘制图表,可以使用 `plot()` 函数,例如:
```python
change.plot()
plt.xlabel('Date')
plt.ylabel('Change')
plt.title('Stock Prices Change')
plt.legend(loc='upper left')
plt.show()
```
这个代码将绘制出一个包含每支股票每日涨跌幅的折线图,其中每条折线代表一支股票的涨跌幅。图表上添加了横坐标标签 "Date",纵坐标标签 "Change",标题 "Stock Prices Change",以及图例 "upper left"。
注意,由于横坐标是日期,可能会比较密集,可以使用 matplotlib 的 `autoscale()` 函数自动缩放横坐标的范围,例如:
```python
plt.autoscale(enable=True, axis='x', tight=True)
```
这个函数将自动缩放横坐标的范围,以适应日期的密集程度。
这样,你就可以得到一个包含每支股票每日涨跌幅的表格,并将其绘制成图表展示出来,横坐标为对应的日期。
MATLAB 输入纵坐标返还对应的横坐标
在 MATLAB 中,你可以使用逆插值的方法来根据给定的纵坐标返回对应的横坐标。逆插值是指根据已知的纵坐标和对应的横坐标,通过插值计算得到给定纵坐标的近似横坐标。
以下是一个示例,假设你有一组横坐标 `x` 和对应的纵坐标 `y`,你可以使用 `interp1` 函数和逆插值的方法来实现纵坐标到横坐标的计算:
```matlab
x = [1, 2, 3, 4, 5]; % 横坐标
y = [2, 4, 6, 8, 10]; % 纵坐标
query_y = 5; % 待查询的纵坐标
query_x = interp1(y, x, query_y); % 进行逆插值
disp(query_x); % 显示查询到的横坐标
```
在这个例子中,`query_y` 是待查询的纵坐标,`interp1` 函数会根据已知的 `y` 和 `x` 进行逆插值,并返回对应的横坐标 `query_x`。
需要注意的是,逆插值可能存在多个解,因此函数返回的是一个近似的横坐标。如果在插值过程中出现了超出已知数据范围的纵坐标,函数会返回 NaN。
请根据你的实际数据和需求,选择合适的插值函数和参数来进行逆插值计算。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)