我正在开发解决工程问题的软件。该软件应以漂亮的数学表达式格式为用户打印计算结果。我在PyQt中使用了Matplotlib,Latex和Sympy,并成功完成了我想要的一切,除了以骨折的形式显示变量的值(请看下面的图片了解我的意思)。另外,我想知道如何控制乳胶文本的字体大小和样式(参见图片)。下面是代码的一部分。
看到这张图片
def Calculate(self):
plt.rc('mathtext', fontset='cm')
self.right_column_stiffness = int(self.lineEdit_3.text())
self.left_column_stiffness = int(self.lineEdit_4.text())
self.beam_load = int(self.lineEdit_4.text())
w=self.beam_load*(1000/12)
g=386.1
self.mass = w/g
formula=r'm=\frac{w}{g}='
self.result_figure.text(.05, .85, r'${}$'.format(formula+latex(w)), fontsize=20)
[enter image description here][1]
self.result_canvas.draw()
答案 0 :(得分:1)
您曾问过两个问题:
分数的乳胶表示的字体大小可以通过两种方式更改。首先是用\displaystyle
块包围分数乳胶代码。
formula = r'm={\displaystyle\frac{w}{g}}'
其他选择是在下一行中将'${}$'
更改为\[{}\]
。
self.result_figure.text(.05, .85, r'\[{}\]'.format(formula+latex(w)), fontsize=20)
为了将变量中包含的值打印为分数而不是最终答案,您将必须手动构造另一个乳胶文本。
value = r'${{\displaystyle\frac{}{import matplotlib.pyplot as plt
from matplotlib import rc # Added these two lines
rc('text', usetex=True)
formula = r'm=\frac{{w}}{{g}} = \frac{{{0}}}{def binarySearch( a, l, r, num ):
m = (l+r) // 2
if l < r:
if num <= a[m]:
binarySearch(a, l, m, num)
else:
binarySearch(a, m+1, r, num)
else:
print( m )
}'.format(100,20)
plt.plot( [0,1,2,3], [0,1,2,3], '.')
plt.text(1,1,r'\[{}\]'.format(formula),fontsize=20)
plt.show()
}}}$'.format(w,g)
这是我的示例代码:
bool XbusMessage_getDataItem(void* item, enum XsDataIdentifier id, struct XbusMessage const* message)
{
uint8_t const* raw = (getPointerToData(id, message->data, message->length));
给出以下结果的{{0}}