我有以下代码:
from plotly.subplots import make_subplots
import requests
import json
import datetime as dt
import pandas as pd
import plotly.graph_objects as go
def get_candles(symbol, window, interval='1h'):
url = "https://api.binance.com/api/v1/klines"
end_time = dt.datetime.utcnow()
delta = dt.timedelta(hours = window)
start_time = end_time - delta
start_date = str(int(start_time.timestamp() * 1000))
end_date = str(int(end_time.timestamp() * 1000))
limit = '1000'
market = symbol + 'BUSD'
req_param = {"symbol": market, "interval": interval, "startTime": start_date, "endTime": end_date, "limit": limit}
text = requests.get(url, params = req_param).text
data = json.loads(text)
df = pd.DataFrame(data)
df.columns = ['open_time',
'o', 'h', 'l', 'c', 'v',
'close_time', 'qav', 'num_trades',
'taker_base_vol', 'taker_quote_vol', 'ignore']
df.index = [dt.datetime.fromtimestamp(x/1000.0) for x in df.close_time]
return df
def chart(symbol, interval='1h'):
windows = {'1m': 1, '5m': 5, '15m': 15, '30m': 30, '1h': 60, '2h': 120, '4h': 240, '6h': 360, '12h': 720, '1d': 1440}
chart = get_candles(symbol.upper(), windows[interval], interval)
fig = make_subplots(specs=[[{"secondary_y": True}]])
print(chart['v'].max())
fig.add_trace(go.Candlestick(x=chart.index,
open=chart['o'],
high=chart['h'],
low=chart['l'],
close=chart['c'],
name="yaxis1 data",
yaxis='y1'), secondary_y=True)
fig.add_trace(go.Bar(x=chart.index, y=chart['v'], name="yaxis2 data", yaxis="y2"), secondary_y=False)
fig.layout.yaxis2.showgrid=False
fig.update_yaxes(type="linear")
fig.update_layout(xaxis_rangeslider_visible=False)
# fig.show()
fig.write_image("figure.png", engine="kaleido")
chart('bnb')
现在我想要它,使体积条只到图表总高度的1/3,我试着这样做:
fig.update_layout(yaxis1=dict(title=“bars”,domain=[0,int(2*chart['v'].max())]))
但这没什么用。
我如何给某个Y轴起一个名字并改变它的范围?
我不使用plotly
,但查看文档,我看到了设置Y轴范围的如下内容:
Code: fig.update_yaxes(range=<VALUE>)
Type: list
https://plotly.com/python/reference/layout/yaxis/#layout-xaxis-range
对于标签/标题:
Code: fig.update_yaxes(title=dict(...))
Type: dict containing one or more of the keys listed below.
fig.update_layout(title_text=<VALUE>)
https://plotly.com/python/reference/layout/yaxis/#layout-yaxis-title
在下面的代码中,我希望减小y轴和x轴值的字体大小。我搜索并找到了以下代码: 假设您想减少数轴的字体大小,请使用以下代码: 假设要减小CategoryAxis的字体大小,请使用以下代码: 但不幸的是,轴的大小并没有减小。我做错什么了吗? 此示例代码:
问题内容: 我正在尝试在x轴上绘制日期图,在y轴上绘制值。它工作正常,但无法获得适当的X轴范围。尽管我的日期是今天,但x轴范围始终是2012年1月至2016年1月。我什至指定xlim应该是第一个和最后一个日期。 我正在为python-django写这个,如果相关的话。 问题答案: 从OP看到实际数据后,所有值都在同一日期/时间。因此matplotlib自动将x轴缩小。你仍然可以手动设置对象的x轴限
我只想用6个不同的数据帧(即gyeEUR,gyeEMR…)绘制6次。最好的办法是什么?
我是Python新手,需要使用pyplot和matplotlib生成条形图。到目前为止,我是这样尝试的(我只附上了重要的代码片段):
我刚刚开始学习为Android编码和开发。 现在,我正在尝试这样做:Project Fi App UI然而,我在MPAndroidChart库中找不到参数或方法来设置条形图(或我正在使用的水平条形图)中条形图的比例。条形图中的条形图只是自动决定其比例。我想要的是一个固定的Y轴最大范围,图中条形的比例根据其值而变化。 另一个问题是,我无法摆脱每个酒吧上的标签。我写道 但条的右边仍然有一个值。 包含条
我正在尝试修复python如何绘制数据。 说 和 然后我会做: x轴的刻度以5为间隔绘制。有没有办法让它显示1的间隔?