我有每小时数据,包括许多列.第一列是日期(date_log),其余列包含不同的样本点.问题是即使每小时使用不同的时间记录采样点,因此每列至少有几个NaN.如果我使用第一个代码进行绘图,它可以很好地工作,但我希望在一天左右没有记录器数据的情况下存在间隙,并且不希望这些点被连接起来.如果我使用第二个代码,我可以看到间隙,但由于NaN点数据点没有加入.在下面的例子中,我只是绘制前三列.
如果存在像蓝点这样的巨大差距(01/06-01/07/2015),我希望有一个差距然后得分加入.第二个例子没有加入点.我喜欢第一个图表,但是当24小时日期范围内没有样本数据点时,我希望创建像第二种方法那样的间隙,等待较长时间的缺失数据点作为间隙.
有什么工作吗?谢谢
1-方法:
Log_1a_mask = np.isfinite(Log_1a) # Log_1a is column 2 data points
Log_1b_mask = np.isfinite(Log_1b) # Log_1b is column 3 data points
plt.plot_date(date_log[Log_1a_mask], Log_1a[Log_1a_mask], linestyle='-', marker='',color='r',)
plt.plot_date(date_log[Log_1b_mask], Log_1b[Log_1b_mask], linestyle='-', marker='', color='b')
plt.show()
Run Code Online (Sandbox Code Playgroud)
2-方法:
plt.plot_date(date_log, Log_1a, ‘-r*’, markersize=2, markeredgewidth=0, color=’r’) # Log_1a contains raw data with NaN
plt.plot_date(date_log, Log_1b, ‘-r*’, markersize=2, markeredgewidth=0, color=’r’) # Log_1a contains raw data with NaN
plt.show()
Run Code Online (Sandbox Code Playgroud)
如何更改散点图中标记线的粗细plt.scatter()?markeredgewidth是一个有效的属性plt.plot(); scatter情节是否有任何等效属性?
例如,当您更改散点图的大小(使用marker = 'x')时,标记只会变大,但线条粗细不会改变.
我不是想改变尺寸而是线厚!
我一直在尝试更改 X 轴标签,以便我看到字母中的月份,例如 01 January 或 01 Jan,而不是当前生成的 01 01。
有办法实现吗?我通过操作日期在单个图表上绘制多个数据集,以便它们出现在单个图表上,但它们不一定属于同一年。因此,我一直试图删除年份标签,但剩余的月份数字看起来不太好。
import matplotlib.dates as mdates
from datetime import date
import matplotlib.pyplot as plt
def fig_formatter(ax):
months = mdates.MonthLocator()
myFmt = mdates.DateFormatter('%d/%m')
ax.xaxis.set_major_formatter(myFmt)
plt.gcf().autofmt_xdate()
plt.grid()
ax.xaxis.set_minor_locator(months)
ax.xaxis.grid(True, 'major', linewidth=1)
ax.xaxis.grid(True, 'minor', linewidth=0.5)
x_data = [date(2017, 1, 1), date(2017, 5, 1), date(2017, 12, 1)]
y_data = [5, 30, 10]
plt.plot_date(x_data, y_data, '-o')
ax = plt.subplot(111)
fig_formatter(ax)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我有一个按钮,a)图像和b)背景图像 - 都内置在故事板中.当背景图像具有不同的形状时,图像从按钮弹出.我想给实际图像(a)从各个方向的一些填充,以便它可以在背景图像内缩回.我不能用插图做,因为他们只给不相对的边提供填充,当相同的插图设置到相对的边 - 图像不缩小.很高兴知道它是如何在故事板和编程中完成的.
基本上,我试图更新Table1中的Column1_mbgl字段数据,这些数据均基于MS Access数据库。该脚本被执行而没有任何错误,但是在检查表时没有发生更新。我尝试了代码中所示的两个选项,但均未成功。第二个选项是直接从MS Access查询生成的SQL代码。有人可以建议我在代码中缺少什么吗?
#import pypyodbc
import pyodbc
# MS ACCESS DB CONNECTION
pyodbc.lowercase = False
conn = pyodbc.connect(
r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};" +
r"Dbq=C:\temp\DB_access.accdb;")
# OPEN CURSOR AND EXECUTE SQL
cur = conn.cursor()
# Option 1 - no error and no update
cur.execute("UPDATE Table1 SET Column1_mbGL = Column2_mbGL-0.3 WHERE ((Column3_name='PZ01') AND (DateTime Between #6/14/2016 14:0:0# AND #6/16/2016 12:0:0#) AND (TYPE='LOG'))");
# Option 2 - no error and no update
#cur.execute("UPDATE Table1 SET Table1.Column1_mbGL = [Table1]![Column2_mbGL]-0.3 WHERE (((Table1.Column3_name)='PZ01') AND ((Table1.DateTime) …Run Code Online (Sandbox Code Playgroud)