首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并排绘制n个图

并排绘制n个图
EN

Stack Overflow用户
提问于 2020-01-04 16:51:47
回答 1查看 159关注 0票数 1

我有以下脚本:

代码语言:javascript
复制
import fxcmpy
import pandas as pd
from pandas import datetime
from pandas import DataFrame as df
import matplotlib
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import datetime
from datetime import date
import numpy as np
TOKEN = "d0d2a3295349c625be6c0cbe23f9136221eb45ef"
con = fxcmpy.fxcmpy(access_token=TOKEN, log_level='error')
print(con.get_instruments())
ticker= con.get_instruments()
start = datetime.datetime(2008,1,1)
end = datetime.datetime.today()
today = date.today()
data = con.get_candles(ticker, period='D1', start = start, end = end)
data.index = pd.to_datetime(data.index, format ='%Y-%m-%d')

变量symbol包含以下列表:

代码语言:javascript
复制
['EUR/USD', 'USD/JPY', 'GBP/USD', 'USD/CHF', 'EUR/CHF', 'AUD/USD', 'USD/CAD', 'NZD/USD', 'EUR/GBP', 'EUR/JPY', 'GBP/JPY', 'CHF/JPY', 'GBP/CHF', 'EUR/AUD', 'EUR/CAD', 'AUD/CAD', 'AUD/JPY', 'CAD/JPY', 'NZD/JPY', 'GBP/CAD', 'GBP/NZD', 'GBP/AUD', 'AUD/NZD', 'USD/SEK', 'EUR/SEK', 'EUR/NOK', 'USD/NOK', 'USD/MXN', 'AUD/CHF', 'EUR/NZD', 'USD/ZAR', 'USD/HKD', 'ZAR/JPY', 'USD/TRY', 'EUR/TRY', 'NZD/CHF', 'CAD/CHF', 'NZD/CAD', 'TRY/JPY', 'USD/CNH', 'AUS200', 'ESP35', 'FRA40', 'GER30', 'HKG33', 'JPN225', 'NAS100', 'SPX500', 'UK100', 'US30', 'Copper', 'CHN50', 'EUSTX50', 'USDOLLAR', 'US2000', 'USOil', 'UKOil', 'SOYF', 'NGAS', 'WHEATF', 'CORNF', 'Bund', 'XAU/USD', 'XAG/USD', 'EMBasket', 'JPYBasket', 'BTC/USD', 'BCH/USD', 'ETH/USD', 'LTC/USD', 'XRP/USD', 'CryptoMajor', 'ESPORTS', 'BIOTECH', 'CANNABIS', 'FAANG', 'CHN.TECH', 'CHN.ECOMM', 'USEquities']

我怎么能把它们都并排画出来呢?

我可以用data.plot(y='bidopen')一次绘制一个,但我想知道如何同时并排绘制它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-09 04:22:46

您可以使用matplotlib的subplots函数来完成此操作。以下是一个包含合成数据集的示例:

代码语言:javascript
复制
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    "group": [ i for i in range(3) for j in range(10) ],
    "x":     [ j for i in range(3) for j in range(10) ],
    "y":     [ pow(j+1, i+1) for i in range(3) for j in range(10) ]
})

fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(12, 4))
for i in range(3):
    df[ df.group == i ].plot("x", "y", ax=axes[i])

plt.show()

结果如下:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59589276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档