![绘制约束条件较大数字的 LP 可行区域](https://linux22.com/image/260257/%E7%BB%98%E5%88%B6%E7%BA%A6%E6%9D%9F%E6%9D%A1%E4%BB%B6%E8%BE%83%E5%A4%A7%E6%95%B0%E5%AD%97%E7%9A%84%20LP%20%E5%8F%AF%E8%A1%8C%E5%8C%BA%E5%9F%9F.png)
我正在尝试绘制以下 LP 的可行区域:
\documentclass [11 pt, xcolor=pdftex,x11names,table]{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\setbeamercovered{invisible}
\frametitle{Linear Program}
\begin{columns}[c]
\column{0.33\textwidth}
\begin{tikzpicture}[xscale=0.01,yscale=0.01][domain=-0.5:5000]
\draw[->] [very thick] (-0.5,0) -- (5000,0) node[right] {$x_1$};
\draw[->] [very thick](0,-.5) -- (0,5000) node[above] {$x_2$};
% HERE COMES THE REST OF THE GRAPH
\end{tikzpicture}
\column{0.6\textwidth}
different piece of code
\end{columns}
\end{frame}
\end{document}
我遇到的问题是,当我尝试时 \begin{tikzpicture}[domain=-0.5:3500]
它不适合幻灯片。有什么建议可以解决这个问题吗?
编辑:我编辑了 MWE 并使用了xscale
和yscale
,我可以绘制轴,但仍然收到错误Dimention too large \end{frame}
。我应该忽略它吗?有什么想法吗?
答案1
我说如果你做不到,就假装做得到!
您可以使用比所需值小 1/1000 的值,然后在标记轴时假装这些值更大。看看我的例子:
\documentclass [11 pt, xcolor=pdftex,x11names,table]{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\setbeamercovered{invisible}
\frametitle{Linear Program}
\begin{columns}[c]
\column{0.33\textwidth}
\begin{tikzpicture}[]
\draw[->] [very thick] (-0.5,0) -- (5,0) node[right] {$x_1$};
\draw[->] [very thick](0,-.5) -- (0,5) node[above] {$x_2$};
% Tick marks and labels on the axes
\foreach \x in {1, 2, 3, 4 } {
\draw (\x,0)+(90:0.1cm) -- (\x,0) node[below]{\scriptsize $\x 000$};
\draw (0,\x)+(0:0.1cm) -- (0,\x) node[left]{\scriptsize $\x 000$};
}
\end{tikzpicture}
\column{0.6\textwidth}
different piece of code
\end{columns}
\end{frame}
\end{document}
如果这不能解决您的问题,您需要向我们展示您的完整 tikz 代码。否则,很难为您提供解决问题的其他方法。正如 Jake 在评论中所说,pgfplots
可以处理更大的数字,使用您的完整代码,将其转换为图形并不难pgfplots
。